{% extends "model.html" %}
{% from "fields.html" import field %}
{% from "macros.html" import color, unit %}

{% block input %}
    <div class="block aside left properties">
        <div class="title">Параметры</div>
        <form action="/warehouse" method="post" class="properties">
            {{ field(form.lot_size, unit='шт') }}
            {{ field(form.limit, unit='шт') }}
            {{ field(form.amount, unit='шт') }}
            {{ field(form.total_time, unit='ч') }}
            {{ field(form.times) }}
            
            <fieldset>
                <div class="legend">Спрос, в час</div>
                {{ field(form.demand_mu, unit='шт') }}
                {{ field(form.demand_sigma, unit='шт') }}
            </fieldset>

            <fieldset>
                <div class="legend">Время поставки партии</div>
                {{ field(form.supply_mu, unit='ч') }}
                {{ field(form.supply_sigma, unit='ч') }}
            </fieldset>
            
            <fieldset>
                <div class="legend">Цены</div>
                {{ field(form.demand_price, unit='р') }}
                {{ field(form.supply_price, unit='р') }}
                {{ field(form.storage_price, unit='р') }}
                {{ field(form.fine, unit='р') }}
            </fieldset>

            <div class="row submit">
                <input type="reset" value="Сбросить" />
                <input type="submit" value="Считать" />
            </div>
        </form>
    </div>
{% endblock %}

{% block output %}
    <div class="block">
        <div class="title">Статистика модели</div>
        <table class="content">
            <tr>
                <th>Продажи</th>
                <td>{{ units.sales|round(2)}} {{ unit('шт') }}</td>
                <td>{{ balance.sales|round(2)}} {{ unit('р') }}</td>
                {% if balance_diagram %}
                    <td rowspan="5" style="padding: 0px; text-align: center">
                        {{ balance_diagram }}
                    </td>
                {% endif %}
            </tr>
            
            <tr>
                <th class="nested">{{ color('#FBFF53') }} Поставки</th>
                <td>{{ units.supplies|round(2)}} {{ unit('шт') }}</td>
                <td>{{ balance.supplies|round(2)}} {{ unit('р') }}</td>
            </tr>
            
            <tr>
                <th class="nested">{{ color('#1560BD') }} Хранение</th>
                <td>{{ units.storage|round(2)}} {{ unit('шт') }}</td>
                <td>{{ balance.storage|round(2)}} {{ unit('р') }}</td>
            </tr>
            
            <tr>
                <th class="nested">{{ color('#FF4D6F') }} Недостачи</th>
                <td>{{ units.fines|round(2)}} {{ unit('шт') }}</td>
                <td>{{ balance.fines|round(2)}} {{ unit('р') }}</td>
            </tr>
            
            <tr>
                <th class="nested">{{ color('#008090') }} Чистая прибыль</th>
                <td colspan="2">{{ balance.profit|round(2)}} {{ unit('р') }}</td>
            </tr>
            
            <tr>
                <th colspan="4" class="section">Максимальные гарантированные расходы</th>
            </tr>
            
            <tr>
                <td class="poster" colspan="4">{{ max_guaranteed_costs|round(2)}} {{ unit('р') }}</td>
            </tr>
        </table>
    </div>
    
    {% if history %}
        <div class="block">
            <div class="title">Количество товара на складе</div>
            <div class="content">
                {{ history_diagram }}
            </div>
        </div>
    {% endif %}
{% endblock output %}

{% block about %}
<div id="content">
    <h1>Модель склада</h1>
    <p>Модель склада, или <em>модель управления запасами</em>, описывает склад, на котором хранится запас некой продукции &mdash; допустим, тетрадей.</p>
    
    <p>К нам время от времени приходят покупатели, которые желают купить по одной тетради каждый. Мы имеем перед ними договорные обязательства, &mdash; поэтому, если в данный момент у нас товара нет, то мы платим неудовлетворённому покупателю <strong>цену недостачи</strong>.</p>
    
    <p>Чтобы пополнять свои запасы, мы можем обращаться к поставщикам &mdash; фабрикам тетрадей, заказывая у них продукт партиями равного размера, каждую тетрадь &mdash; по определённой <strong>цене поставки</strong>.</p>
    
    <p>Мы бы могли заказать сразу заведомо слишком большое количество тетрадей и таким образом наверняка выполнить свои обязательства, но в сутки за хранение каждой тетради мы платим некую <strong>цену хранения</strong> (охрана, вентиляция помещения и т.п.). Размер склада мы считаем для простоты бесконечным.</p>
    
    <p>Нам необходимо определить, когда заказывать партии тетрадей и каков должен быть размер каждой партии, чтобы мы удовлетворили как можно больше покупателей и наши расходы были минимальны.</p>
    
    <p>Ход выполнения лабораторной работы по данной модели описан <a href="/help/warehouse">в методических указаниях</a>.
</div>
{% endblock %}


